Експлоративний аналіз даних

Розподіл значень ряду по роках

Розподіл кількості значень ряду по роках

Бачимо, що значення часового ряду розподілені практично рівномірно по роках

Розподіл значень ряду

Розподіл значень по роках дає певні "натяки" на наявність негативного тренду

Аналіз пропущених значень

Лінійна інтерполяція для обробки пропущених значень

Аналіз наявності викидів в даних

Бачимо, що часовий ряд є досить "чистим", також проглядається негативний тренд

Аналіз наявності тренду, сезонності, циклічності

Візуалізація часового ряду

Візуалізація значень часового ряду у розбитті по рокам

Поквартальна візуалізація значень часового ряду

Помісячна візуалізація значень часового ряду

Наведені графіки свідчать про наявність так званого "mean-revesring" тренду

Перевірка на стаціонарність

Тест Дікі-Фулера

KPSS тест

Бачимо, що вихідний часовий ряд не є стаціонарним

Декомпозиція часового ряду

Additive model

period=5
Тест на стаціонарність для залишків

Additive model

period=20
Тест на стаціонарність для залишків

Additive model

period=253
Тест на стаціонарність для залишків

Multiplicative model

period=5
Тест на стаціонарність для залишків

Multiplicative model

period=20
Тест на стаціонарність для залишків

Multiplicative model

period=253
Тест на стаціонарність для залишків

Побудова моделей за допомогою крос-валідації для різних наборів порядків

all_metrics_df_arma.to_csv('all_metrics_df.csv', index=True) all_metrics_df_test_arma.to_csv('all_metrics_df_test.csv', index=True) all_metrics_df_ar.to_csv('all_metrics_df_ar.csv', index=True) all_metrics_df_test_ar.to_csv('all_metrics_df_test_ar.csv', index=True)
all_metrics_df_arma.to_csv('all_metrics_df_arma.csv', index=True) all_metrics_df_test_arma.to_csv('all_metrics_df_test_arma.csv', index=True) all_metrics_df_ar.to_csv('all_metrics_df_ar.csv', index=True) all_metrics_df_test_ar.to_csv('all_metrics_df_test_ar.csv', index=True)

Розподіл метрик по порядкам моделей

ARMA

Тренувальні вибірки

Тестувальні вибірки

Побудова ACF та PACF для кожного з фолдів

Метрики у вигляді таблиць

ARMA

усереднюємо метрики по фолдам для кожного набору порядків моделі

all_train_metrics_resampled_arma.to_csv('all_train_metrics_df_resampled_arma.csv', index=True) all_test_metrics_resampled_arma.to_csv('all_test_metrics_df_resampled_arma.csv', index=True)

AR

усереднюємо метрики по фолдам для кожного набору порядків моделі

all_train_metrics_resampled_ar.to_csv('all_train_metrics_df_resampled_ar.csv', index=True) all_test_metrics_resampled_ar.to_csv('all_test_metrics_df_resampled_ar.csv', index=True)